#ifndef GDT_H
#define GDT_H

typedef struct {
	unsigned int base;
	unsigned int limit;
	unsigned char type;
} GDTSegmentDescriptor;

typedef struct {
	unsigned short limit;
	unsigned int base; // linear base address of GDT.
} GDTRegister;

void gdtEncodeEntry(unsigned char *target, const GDTSegmentDescriptor * source);
void gdtFill(void);

#endif /* GDT_H */

